<?php
//klasa do rejestracji
class register
{
   public function __construct()
   {
    
    //generowanie niezbednych danych
    $this->username = $_POST['username'];
    $this->password = $_POST['password'];
    $this->password_2 = $_POST['password_2'];
    $this->mail = $_POST['mail'];
    $this->registerDate = date('Y-m-d H:i:s', $_SERVER['REQUEST_TIME']);
    
    //generowanie klucza aktywacyjnego
    $this->activationKey = generateHash(25);
    
    //generowanie hash'a dla zakodowania danych
    $this->hash = generateHash(10);
   
    //generowanie zakodowanego hasła
    $this->codePass = codePass($this->username, $this->password, $this->hash);


   }
   
   public function checkPasswords()
   {
        if($this->password == $this->password_2)
        {
            return TRUE;
        } else {
            return FALSE;
        }
   }
    
    public function checkUserName() //sprawdzanie czy istnieje już taki user
    {
        global $pdo;
		  
			$sql = 'SELECT count(*) FROM ' . USER_TABLE . ' WHERE login = :login';
            $stmt = $pdo->prepare($sql);
            $stmt->bindParam(':login', $this->username, PDO::PARAM_STR);
            $stmt->execute();
            $result = $stmt->fetch(PDO::FETCH_NUM);
            
            if($result[0]) 
            {
                return FALSE;
            } else {
                return TRUE;
            }
    }
		
    public function checkUserMail() //sprawdzanie czy mail jest już w bazie
    {
        global $pdo;
		  
			$sql = 'SELECT count(*) FROM ' . USER_TABLE . ' WHERE mail = :mail';
            $stmt = $pdo->prepare($sql);
            $stmt->bindParam(':mail', $this->mail, PDO::PARAM_STR);
            $stmt->execute();
            $result = $stmt->fetch(PDO::FETCH_NUM);
            
            if($result[0]) 
            {
                return FALSE;
            } else {
                return TRUE;
            }	
    }    

    public function addUser() //dodanie użytkownika do bazy danych
    {
       
        global $pdo;
            $sql = "INSERT INTO " . USER_TABLE . "(login, password, mail, hash, acc_status, activation_key, register_date)
                    VALUES (:login, :password, :mail, :hash, 0, :activation_key, '$this->registerDate' )";
            $stmt = $pdo->prepare($sql);
            $stmt->bindParam(':login', $this->username, PDO::PARAM_STR);
            $stmt->bindParam(':password', $this->codePass, PDO::PARAM_STR);
            $stmt->bindParam(':mail', $this->mail, PDO::PARAM_STR);
            $stmt->bindParam(':hash', $this->hash, PDO::PARAM_STR);
            $stmt->bindParam(':activation_key', $this->activationKey, PDO::PARAM_STR);
            $stmt->execute();
                       
    }
    
    public function sendActiation() //wysłanie wiadomości z linkiem aktywacyjnyc,
    {
        global $site_config;
        
        $temat = 'Aktywacja konta: ' . $site_config['server'];
        
        $tresc = 'Witaj ' . $this->username .'!<br />';
        $tresc .= 'Dziekujemy za rejestrację na naszej stronie. Mamy nadzieję, że zapoznałeś się z regulaminem.<br/>';											
        $tresc .= 'Aby aktywować konto kliknij w poniższy link: <br />';
        
        $link = $site_config['server'] . "activation/" . $this->username. "," . $this->activationKey;											
        $link =	"<a href=" . $link . ">". $link . "</a>";
													
											
        $headers = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
        $headers .= 'From: spary-cs.pl' . "\r\n";

        $wiadomosc = "
                    <b>E-mail:</b> $this->mail<br />
					$tresc<br />
					$link	";      
        //$mail = mail($this->mail, $temat, $wiadomosc, $headers);
    }
}

?>